package com.tingyuge.base.structrue.segmenttree;

class NumArray {

   private int[] sum;
   private int[]  data;
    public NumArray(int[] nums) {
        data = nums;

        sum =  new int[nums.length+1];
        sum[0] = 0;
        for (int i = 1; i <sum.length ; i++) {
            sum[i] = sum[i-1]+nums[i-1];
        }

        
    }

    public void update(int index ,int val){
        data[index] = val;
        for (int i = index+1; i <sum.length ; i++) {
            sum[i] = sum[i-1]+data[i-1];
        }
    }
    
    public int sumRange(int i, int j) {

        return sum[j+1] - sum[i];
    }
}
